package com.qingcloud.adminbackend.entity.sysstation;

import com.qingcloud.adminbackend.constant.WamingConstant;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 监测点详情
 */
@Data
public class StationDetailsDTO implements Serializable {
    @ApiModelProperty(value = "id", example = "1")
    private String id;

    /**
     * 站点id
     */
    @ApiModelProperty(value = "站点id", example = "1")
    private String stationId;

    @ApiModelProperty(value = "站点类型", example = "1")
    private String stationType;

    @ApiModelProperty(value = "站点类型", example = "1")
    private String stationTypeStr;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", example = "XX")
    private String stationName;

    @ApiModelProperty(value = "名称", example = "XX")
    private String stationNameEn;

    @ApiModelProperty(value = "业务标识 (1： 企业监测点位；2：个人监测点位)", example = "XX")
    private String businessType;

    /**
     * 监测点种类(1：室内；2：室外)
     */
    @ApiModelProperty(value = "监测点种类（微站 小型站；移动站；VOC站 外部站(考核,爬虫)）（网格化）;新业务:（室内监测；室外监测）", example = "室外监测")
    private String stationCatagoryStr;

    @ApiModelProperty(value = "监测点种类（0.微站；1.小型站；2.移动站；3.VOC站 4.外部站(考核,爬虫)）（网格化）;新业务:（10：室内监测；11：室外监测）", example = "1")
    private Integer stationCatagory;

    @ApiModelProperty(value = "订单名称", example = "")
    private String orderName;

    @ApiModelProperty(value = "订单ID", example = "")
    private String orderId;

    /**
     * 省编码
     */
    @ApiModelProperty(value = " 省名称", example = "000000")
    private String proName;
    @ApiModelProperty(value = " 省ID", example = "000000")
    private Integer pro;

    /**
     * 市级编码
     */
    @ApiModelProperty(value = " 市级名称", example = "000000")
    private String cityName;
    @ApiModelProperty(value = " 市级ID", example = "000000")
    private Integer city;

    /**
     * 区县编码
     */
    @ApiModelProperty(value = " 区县名称", example = "000000")
    private String districtName;
    @ApiModelProperty(value = " 区县ID", example = "000000")
    private Integer district;

    /**
     * 街道编码
     */
    @ApiModelProperty(value = " 街道名称", example = "000000")
    private String streetName;

    @ApiModelProperty(value = "健康空气-街道名称", example = "000000")
    private String healthStreetName;

    @ApiModelProperty(value = " 街道ID", example = "000000")
    private Integer street;

    /**
     * 乡镇编码
     */
    @ApiModelProperty(value = " 乡镇名称", example = "000000")
    private String townsName;

    @ApiModelProperty(value = " 乡镇ID", example = "000000")
    private Integer towns;

    @ApiModelProperty(value = " 详细地址")
    private String addr;

    @ApiModelProperty(value = "位置")
    private String position;

    @ApiModelProperty(value = "位置")
    private String positionId;

    @ApiModelProperty(value = "空间")
    private String space;

    @ApiModelProperty(value = "空间ID")
    private String spaceId;

    @ApiModelProperty(value = " 楼宇")
    private String build;

    @ApiModelProperty(value = " 楼宇")
    private String buildId;

    @ApiModelProperty(value = " 楼层")
    private String floor;

    @ApiModelProperty(value = " 楼层")
    private String floorId;

    @ApiModelProperty(value = " 房间")
    private String room;

    @ApiModelProperty(value = " 房间")
    private String roomId;

    @ApiModelProperty(value = " 监控对象ID")
    private String moId;
    /**
     * 电表编号
     */
    @ApiModelProperty(value = " 电表编号")
    private String ammeterNo;

    /**
     * 电线杆号
     */
    @ApiModelProperty(value = " 电线杆号")
    private String poleId;

    /**
     * 备注
     */
    @ApiModelProperty(value = " 备注")
    private String mark;

    /**
     * gps纬度
     */
    @ApiModelProperty(value = " gps纬度")
    private BigDecimal latReal;

    /**
     * gps经度
     */
    @ApiModelProperty(value = " gps经度")
    private BigDecimal lngReal;

    /**
     * 左边偏移像素量
     */
    @ApiModelProperty(value = " 左边偏移像素量")
    private BigDecimal leftPx;

    /**
     * 上边偏移像素量
     */
    @ApiModelProperty(value = " 上边偏移像素量")
    private BigDecimal topPx;

    /**
     * 竖直左边偏移像素量
     */
    @ApiModelProperty(value = " 竖直左边偏移像素量")
    private BigDecimal leftPxVertical;

    /**
     * 竖直上边偏移像素量
     */
    @ApiModelProperty(value = "竖直上边偏移像素量")
    private BigDecimal topPxVertical;

    /**
     * 垂直图片告警线方向 1左上 2右上 3右下 4左下
     */
    @ApiModelProperty(value = " 垂直图片告警线方向 1左上 2右上 3右下 4左下")
    private BigDecimal lineVertical;

    /**
     * 水平图片告警线方向 1左上 2右上 3右下 4左下
     */
    @ApiModelProperty(value = "水平图片告警线方向 1左上 2右上 3右下 4左下")
    private BigDecimal lineHorizontal;

    /**
     * 共享状态 0.不共享 1.共享
     */
    @ApiModelProperty(value = "共享状态 不共享 共享", example = "1")
    private String sharedStr;

    @ApiModelProperty(value = "共享状态 0.不共享 1.共享", example = "1")
    private Integer shared;

    @ApiModelProperty(value = "共享日期")
    private String shareDate;

    @ApiModelProperty(value = "共享开始时间")
    private String startTime;

    @ApiModelProperty(value = "共享结束时间")
    private String endTime;

    @ApiModelProperty(value = "图片地址列表", example = "1")
    private List<StationImg> imgUrls;

    @ApiModelProperty(value = "共享日期 时间字段", example = "1")
    private String shareDateTimeDesc;

    @ApiModelProperty(value = "区域Id", example = "1")
    private String domainId;

    @ApiModelProperty(value = "设备编号", example = "1")
    private String equipmentId;

    @ApiModelProperty(value = "业务种类", example = "1")
    private Integer workType;

    @ApiModelProperty(value = "是否有管理权限", example = "1")
    private Integer manageAuth;

    @ApiModelProperty(value = "展示类型")
    private Integer showType;

    private Integer status;

    private String stationStatus;


    public List<StationImg> getImgUrls() {
        imgUrls.forEach(x -> x.setFullImageUrl(WamingConstant.CONTEXT_PATH.concat(x.getImageUrl())));
        return imgUrls;
    }
}
